﻿using System;
using System.Runtime.InteropServices;

namespace SilverlightViewport.Common.Interop
{
    [ComImport, Guid("1C2056CC-5EF4-101B-8BC8-00AA003E3B29"), 
    InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IOleInPlaceObjectWindowless : IOleInPlaceObject
    {
        [PreserveSig]
        new int GetWindow(out IntPtr phwnd);
        [PreserveSig]
        new int ContextSensitiveHelp([In] int fEnterMode);
        [PreserveSig]
        new int InPlaceDeactivate();
        [PreserveSig]
        new int UIDeactivate();
        [PreserveSig]
        int SetObjectRects([In, MarshalAs(UnmanagedType.LPArray)] RECT[] lprcPosRect,
                           [In, MarshalAs(UnmanagedType.LPArray)] RECT[] lprcClipRect);
        [PreserveSig]
        new int ReactivateAndUndo();
        [PreserveSig]
        int OnWindowMessage([In] uint MSG, [In] IntPtr wParam, [In] IntPtr lParam, out int plResult);
        [PreserveSig]
        int GetDropTarget([MarshalAs(UnmanagedType.Interface)] out IDropTarget ppDropTarget);
    }
}
